# 是如何使用Python自动更新Excel表格，简单来说就是每天都会对Excel中多个sheet进行更新，
# 需要操作完后可以用程序完成第一张sheet 汇总表的更新
from openpyxl import load_workbook
import os
import glob
import random


def get_data_path():
    return os.getcwd() + '/data'


# def create_data():
#     name_lst = ['皮卡丘', '小火龙', '杰尼龟', '妙蛙种子', '风速狗', '小拳石', '飞天螳螂']
#     place_lst = [chr(i).upper() for i in range(97, 123)]
#     # 我忘记大写字母的码了哈哈哈 这样变着法换大写字母
#     activity_lst = ['椭圆机', '篮球', '足球', '羽毛球', '跳绳']
#     source_lst = ['朋友介绍', '微信聊天', '网页弹窗', '其他']
#     workbook = load_workbook(get_data_path() + '/报名.xlsx')
#     for i in range(30):
#         sheet = workbook.copy_worksheet('汇总表')
#         sheet_tile = f'{i + 1}日'
#         for j in range(random.randint(10, 30)):
#             for row in sheet.iter_rows(min_row=3 + j, max_row=3 + j):
#                 #  编号	日期	学员姓名	所属球馆	 参与活动	渠道来源（新）	赠课(几节）	主要负责人	是否到店	是否转化	老学员积分审核
#                 info = [f'{j + 1}', f'{i + 1}日', f'{random.choice(name_lst)}', f'{random.choice(place_lst)}馆',
#                         f'{random.choice(activity_lst)}', f'{random.choice(source_lst)}',
#                         f'{random.randint(1, 10)}', '无', f'{random.choice(["Y", "N"])}', f'{random.choice(["Y", "N"])}',
#                         f'{random.choice(["Y", "N"])}'
#                         ]
#                 print(info)

# 调用glob可以利用通配符获取指定命名格式的文件
path = glob.glob(f'{get_data_path()}/*.xls*')[0]
workbook = load_workbook(filename=path)
sheet_init = workbook.active

# 生成数据
name_lst = ['皮卡丘', '小火龙', '杰尼龟', '妙蛙种子', '风速狗', '小拳石', '飞天螳螂']
place_lst = [chr(i).upper() for i in range(97, 123)]
# 我忘记大写字母的码了哈哈哈 这样变着法换大写字母
activity_lst = ['椭圆机', '篮球', '足球', '羽毛球', '跳绳']
source_lst = ['朋友介绍', '微信聊天', '网页弹窗', '其他']
for i in range(30):
    sheet = workbook.copy_worksheet(sheet_init)
    sheet.title = f'{i + 1}日'
    for j in range(random.randint(10, 30)):
        for row in sheet.iter_rows(min_row=2 + j, max_row=2 + j):
            #  编号	日期	学员姓名	所属球馆	 参与活动	渠道来源（新）	赠课(几节）	主要负责人	是否到店	是否转化	老学员积分审核
            info = [f'{j + 1}', f'{i + 1}日', f'{random.choice(name_lst)}', f'{random.choice(place_lst)}馆',
                    f'{random.choice(activity_lst)}', f'{random.choice(source_lst)}',
                    f'{random.randint(1, 10)}', '无', f'{random.choice(["Y", "N"])}', f'{random.choice(["Y", "N"])}',
                    f'{random.choice(["Y", "N"])}'
                    ]
            # 嵌套循环，对当前行的格子进行遍历把内容写入
            for index, k in enumerate(info):
                row[index].value = k
        print(f'第{i + 1}日已完成')
workbook.save(f'{get_data_path()}/results.xlsx')
